CC = g++ 
# CC = icc
#CFLAGS = -O3 -mtune=pentium4 -mcpu=pentium4 -s -msse -mmmx -msse2
# CFLAGS = -O3 -mcpu=pentium4 -march=pentium4 -axW -xW -tpp7 -parallel

BASE_OBJECTS = xml_parser.o Matrix.o Endian.o ImprovedMath.o random.o

OBJECTS = CompositeFrame.o frame.o misc.o ExtendedPlotting.o
		  
TINY_XML_OBJECTS = tinystr.o tinyxml.o tinyxmlerror.o tinyxmlparser.o	  

EasyBMP_OBJECTS = EasyBMP.o EasyBMP_Geometry.o EasyBMP_Font.o

all: $(OBJECTS) $(TINY_XML_OBJECTS) $(EasyBMP_OBJECTS) $(BASE_OBJECTS) vessel_plot.o
	$(CC) -o CompositeFrame $(CFLAGS) $(OBJECTS) $(TINY_XML_OBJECTS) $(EasyBMP_OBJECTS) $(BASE_OBJECTS)
	$(CC) -o CompositeMovie $(CFLAGS) CompositeMovie.cpp 
	$(CC) -o VesselPlot $(CFLAGS) vessel_plot.o $(BASE_OBJECTS) $(EasyBMP_OBJECTS) $(TINY_XML_OBJECTS)

CompositeFrame.o: CompositeFrame.cpp globals.h
	$(CC) -c $(CFLAGS) CompositeFrame.cpp

xml_parser.o: xml_parser.cpp
	$(CC) -c $(CFLAGS) xml_parser.cpp

EasyBMP.o: EasyBMP.cpp
	$(CC) -c $(CFLAGS) EasyBMP.cpp
	
EasyBMP_Geometry.o: EasyBMP_Geometry.cpp
	$(CC) -c $(CFLAGS) EasyBMP_Geometry.cpp

EasyBMP_Font.o: EasyBMP_Font.cpp
	$(CC) -c $(CFLAGS) EasyBMP_Font.cpp	
	
EasyBMP_SimpleArray.o: EasyBMP_SimpleArray.cpp
	$(CC) -c $(CFLAGS) EasyBMP_SimpleArray.cpp
	
tinystr.o: tinystr.cpp
	$(CC) -c $(CFLAGS) tinystr.cpp

tinyxml.o: tinyxml.cpp
	$(CC) -c $(CFLAGS) tinyxml.cpp

tinyxmlerror.o: tinyxmlerror.cpp
	$(CC) -c $(CFLAGS) tinyxmlerror.cpp

tinyxmlparser.o: tinyxmlparser.cpp
	$(CC) -c $(CFLAGS) tinyxmlparser.cpp
	
frame.o: frame.cpp
	$(CC) -c $(CFLAGS) frame.cpp
	
misc.o: misc.cpp	
	$(CC) -c $(CFLAGS) misc.cpp
	
Endian.o: Endian.cpp
	$(CC) -c $(CFLAGS) Endian.cpp
	
Matrix.o: Matrix.cpp
	$(CC) -c $(CFLAGS) Matrix.cpp
	
ImprovedMath.o: ImprovedMath.cpp
	$(CC) -c $(CFLAGS) ImprovedMath.cpp

random.o: random.cpp
	$(CC) -c $(CFLAGS) random.cpp
	
ExtendedPlotting.o: ExtendedPlotting.cpp
	$(CC) -c $(CFLAGS) ExtendedPlotting.cpp

vessel_plot.o: vessel_plot.cpp
	$(CC) -c $(CFLAGS) vessel_plot.cpp
	
archive:
	zip $$(date +%b_%d_%Y_%H%M).zip *.cpp *.h makefile* *.xml	
	
clean:
	rm -f *.o
